//
//  YSStatusListViewModel.swift
//  新浪浪
//
//  Created by mac on 16/3/2.
//  Copyright © 2016年 mac. All rights reserved.
//

import UIKit
import AFNetworking




class YSStatusListViewModel: NSObject {

    var array:[YSStatusViewModel] = [YSStatusViewModel]()
    
    func loadData(since_id: Int,max_id: Int,finish:(count:Int)->()){
        
        let afn = AFHTTPSessionManager()
        /*
        必选	类型及范围	说明
        access_token	true	string	采用OAuth授权方式为必填参数，OAuth授权后获得。
        since_id	false	int64	若指定此参数，则返回ID比since_id大的微博（即比since_id时间晚的微博），默认为0。
        max_id	false	int64	若指定此参数，则返回ID小于或等于max_id的微博，默认为0。
        count	false	int	单页返回的记录条数，最大不超过100，默认为20。
        https://api.weibo.com/2/statuses/home_timeline.json
        */
        let parameters = ["access_token":YSUserViewModel.shareInstance.access_token ?? "",
        "max_id":max_id,
        "since_id":since_id]
        
        afn.GET("https://api.weibo.com/2/statuses/home_timeline.json", parameters: parameters, progress: nil, success: { (_, JSON) -> Void in
            print(JSON)
            if let json = JSON as? [String:NSObject]{
                if let status = json["statuses"] as? [[String:NSObject]]{
                    //定义一个临时的数组
                    var temp = [YSStatusViewModel]()
                    
                    //给用户数据转模型
                    for statu in status {
                        let statusModel = YSStatusModel(dic: statu)
                        
                        
                        let viewModel = YSStatusViewModel()
                        viewModel.statusModel = statusModel
                        temp.append(viewModel)
                        
//                        self.tableView.reloadData()
                    }
                    if max_id > 0{
                        self.array = self.array + temp
                        
                    }else {
                        self.array = temp + self.array
                    }
                    finish(count: temp.count)
                }
            }
            
            
            
            }) { (_ , error) -> Void in
                print(error)
        }
    }
    
    
}
